controller, lots of improvement