message passing comlete