added many many validation types