chat3: if user.otherRooms is empty, it could crash the server
all sorts of refactor
config and its test
database
get messy