refactoring cartographer