Added the code from my local, still needs a lot of work which I will do at some point. NOT READY TO JUST WORK ON ANY COMPUTER