added fn is_control()