adding joining functionality