Initial commit of code, working but needs docs...