edited set_mode