improved reset