Initial commit, tests and make file.