implemented reset