fully working login class