added uniq to remove repetive fns