simplify dispatcher, move controller to fw packeg