fleshed out the different objects and have basic integration test running