doReset and useReset completed incl passing tests