Tons of fixes and changes.