working on redoing controllers