incomplete join function