better dup check