refactor map page