small structure changes | added registration with some validations (clientside and serverside)