added commutative diagrams