user.login, fixes #39