implemented sim::reset