Adding files, move existing files
Adding the code, haven't tested it yet. Might not compile
Cleanning up
Some more cleaning up
Last bit of cleaning up