consolidated validation