       if o.type == 'node' or o.type == 'way'
         poi.push(tourism(o))
 
+    if o.type == 'way' and o.tags.highway?
+      roads.push(road(o))
+
+    if o.type == 'way' and o.tags.waterway?
+      rivers.push(river(o))
+
   layers = {
     segments: turf.featurecollection(segment(id) for id in segmentIds.values())
     poi: turf.featurecollection(poi)
+    roads: turf.featurecollection(roads)
+    rivers: turf.featurecollection(rivers)
   }
 
   return {

    }
    return f

  route = (relation) ->
    segments = []
    for m in relation.members


query = (bbox) ->
  filters = [
    {t: 'relation', k: 'route',    v: 'hiking'}
    {t: 'node',     k: 'natural',  v: 'saddle'}
    {t: 'node',     k: 'natural',  v: 'peak'}
    {t: 'way',      k: 'highway',  v: '', op: '~'}
    {t: 'way',      k: 'waterway', v: '', op: '~'}
    {t: 'node',     k: 'tourism',  v: '', op: '~'}
    {t: 'way',      k: 'tourism',  v: '', op: '~'}
  ]
  overpassBbox = [bbox[1], bbox[0], bbox[3], bbox[2]]
  item = (f) -> "#{f.t}[\"#{f.k}\"#{f.op or '='}\"#{f.v}\"](#{overpassBbox});"
