user *login* interface