add Rooms feature base functionality
added modularization to client and server side codes