separated controller responsibilities into a new class; slowly disentangling view and controller