structure for controller