progress on validation functions