partially implement the createGroup feature & joinGroup feature