This is the set of changes that I've since applied to the main branch, except this is based on ACMM 1.38 version. It is based on this because the changes here were originally based on 1.38, before ACMM 1.39 was released, This commit also DOESN'T contain the no-acmm commits, it still relies on ACMM