message passing/morphisms partially implemented