add a reset() method