add auto_run interface