finish prototype of MessageSender