implemented message sending