MegaRefactoring part 2