initial commit with API boilerplate