joinGroup and leaveGroup implemented
merging changes