introduced free_running state variable