Mega commit of way too many changes