revised validate