compact and uniq