move some actions into Controller