avoided duplicated items, still has bugs