Restructuring controllers