improved Validator