completed about message passing