separates authentication module from user controller