added core data goodness