Initial commit of working codebase, un-styled and with no documentation :)