changes to return and reset