More refactoring, due to CM