completed with all validations and amazing regex