better equals validation