added reset! option