inputcontroller needs complete redesign