seperate out user controller