setup initial classes, interfaces, and test cases (without implementation)