further diagram updated