simplify single/multiple channel joins handling
Remove unused variables and fix a few comments
Merge remote-tracking branch 'origin/experimental' into experimental