function validation at parse time almost done