add RoomMap and tests