middle variable is never used, so rm
fewer object allocations and method calls during route match