fleshed out model, started adding setup code