Done with a decent draft on this branch!

Needs testing, but i think i am done! Expect more commits, I am sure there are bugs!