support use with downstream middleware