finished about message passing