implemented lazy validation