scheduler deals with duplicate checking