making a message sending framework