Refactor to use leafletjs