reimplemented message sending