Ton of changes and cleanup.