Refactored object model