cleaned up model. this can be further tightened. but committing for now.