added birthdate validation and fixed bugs