construct validation procedures