moved device determination to init controller to ensure proper device assigning