separated view from controller