add reset() method