abstract req now supports keyed fields