implement some part of message forwarding and processing