documenting api
add file locking
add the rest of the stuff
0.2.0