controller generator