A lot of cleanup