add reset function