refactored a bit, still can't figure out that lastMessageAdded bug for new rooms