Refactored item model