message passing fixed, now for some logic