add core.storage API