implement "receive" from participant