refactor user controller @schechter