cleaned up storage - deferred and promises now more controlled