add almost working need to prevent duplicates