an initial attempt at api documentation