Massive update. Near finished.