[updated] - using NSManagedObject subclass instead of KVC