improve diagram