Revert "FuncReq"

This reverts commit 4bba93cf23310e4d7efabed86aefd4f42e0a8ab7.
Revert "Revert "FuncReq""

This reverts commit b9016e14103af87416fdd9d85e3c7dd5291fc832.
test