polished the object model a bit