redone ports, simulation::run now ends correctly