Renaming and re-structuring
Introduced the concept of Authenticators
Some refactoring