updated todo - extra checks when retrieving