added diagrams for observer