implementation for join, leave, subscribe, unsubscribe #7