Feature: Added the authentication code and tests