first message functionality