tutorial from Learning Core Data by Tim Roadley