make everything lazy, setup uniquify