controller improvements