fleshing out the user service