implemented storage interface