added join functionality