adding core data impl