add first draft of storage interface