first draft of api