add unit test, improve login screen