key unique check & re-construct