#19: working with storages abstracted into more general framework