move user handling code into seperate functions