add duplicate checker