All functionality recreated with geoJson, but it's still ugly