reset implemented