smarter join