More design; the routing stuff needs to be written in xh, not in perl