Extensive cleanup.