As mentioned, this is code that has been used from various sources, this ISN'T a final product as i am still working on how i want to achieve my end goal.
What is in here isn't meant to represent the final product, but more as to how to achieve it.
There will still be cleaning and optimising as i go.