join implemented