joining and leaving channel functionality has been added