set up basic structure, still needs API