Merge in changes from TechNt/BaseMod

Keep this fork up to date within reason