framework cleanup