I am 100% sure I have gone about this a completely weird and round the houses way, but it works, and pretty well too!

Ill finish it up and then pop the source online so you can all judge me.