registration, validation and get token functionalities are implemented