extracted controller and mobile detector added