This cleans up the api and adds tests

o This closes #3 Clean up base API
o This closes #4 Add Tests for all base api tasks
o Also updates the manual