Completed basic functionality and tests

Now require to complete documentation before a 0.1 release.