Improved core data implementation, new provider interface