added a generic data store