Re-implemented joins using hash join. O(n)