general purpose validators