add ability to route arbitrary blocks