have join use self.target always