added user login with tests