cp.
filled in a little of transitivity