Add more join overloads and more tests