maybe now it is space efficient?