implement user login/signup for different roles