mt refactoring part 8