sadly enough this has developed countless merge conflicts. closing this, and i will open a new one with a single diff.