More reorganization and cleanups.
Add explanation for performance difference.