Huge-ass bunch of changes