 		return results.first
 	}
 	
+	
+	//MARK: - Count
+	
 	public class func count(predicate:NSPredicate, context:NSManagedObjectContext = CDKStack.shared.mainContext) -> Int {
 		let request = NSFetchRequest(entityName:self.entityName)
 		request.predicate = predicate

		return result
	}
	
	public class func first(predicate:NSPredicate, context:NSManagedObjectContext = CDKStack.shared.mainContext) -> NSManagedObject? {
		let request = NSFetchRequest(entityName:self.entityName)
		request.predicate = predicate
		request.fetchLimit = 1

		return NSEntityDescription.insertNewObjectForEntityForName(self.entityName, inManagedObjectContext:context) as NSManagedObject
	}
	
	
	//MARK: - Fetch
	
	public class func fetch(request:NSFetchRequest, context:NSManagedObjectContext = CDKStack.shared.mainContext) -> [NSManagedObject] {
		
		var error:NSError?
