reworked validation structure
reworked validation structure