fix: support to recursive channeling