rest of the implementation of Store