Add storage interface; More test coverage