worked on login and OOP