split out a storage api