document the api