run/run2 implementation