refactor maps, add distance+bearing calculation