first validator implementation