mc, refactor