replaced abstract classes with interfaces for authentication and login
modules