alternate version of join