starting to lay out an API