factor out io
split osm also off into a submodule
add location handler and road length example