more documentation, rename some functions, and re-export stuff
start working on a new example