updated JoinOptimizer