improved Validator structure