improve controllers