This is just WIP, wont compile in current state

This is just incase someone gets bored ;)
I will finish it tomorrow