Inital commit - Will add Makefiles and finish off the code..