add new feature: a floating menu (like chat window) with online users, some code refactoring