first pass of proper API documentation