pre-work on supporting sending multiple types of messages