causal order implemented