Initial public commit

All initial functionality is working (with the exception of unit test
command).