add MapMaker::save & refactoring