Refactored CoreData model