more surface implementation of the login process