an ass ton of changes for making the entire system more flexible and robust
okay now to test