move controller code to concerns