extract user services to seperate service