cleanup + transition