bottomup cleanup