cleaned up; ready to add tests