Merged the code structure changes from qiffp's fork.
This tag has no release notes.