message passing style for complex representation