added hash-join implementation for the join function