added storage factory