add reset functionality