change: reset() before calling run() callback