added validate on the properties