finished version -- review persistence