join room feature complete