dynamic choose a controller