added controlwindowgenerator and callback for input validation