Add Mercator projection and refactoring.