cleaned up, added initial object model