bootstrap: lay down API and project structure