working on the diagram