added TableJoin implementation