better state control of run phase