first impl of Client#login