added updated diagram