Add some documentation.
Make naming friendlier and don't export data types associated with missing functionality.