use synchronize-parent branch of Simulator to see if puma works better