Lots of cleanup work.