add storage methods (not tested)