add `unique` method