some splitting up of controller junk