add user authentication feature