Initial commit with first draft of API design