added back reset function