digraph improvement {
        ranksep=".5 equally";
        node [fixedsize,width=2.0,height=1.0,fontname="Helvetica"];
	dminitphases [style=bold,label="reflection data\nfile with initial\nphases"];
	dm [style=bold,shape=box,label="Run dm"];
	dmimpphases [style=bold,label="improved\nphases"];
	dmsolmask [label="solvent mask"];
	dmavemask [label="averaging\nmask(s)"];
	dmimpsolmask [label="improved\nsolvent mask"];
	dmimpavemask [label="improved\naveraging mask"];
//
	dmmultdata [style=bold,label="multiple reflection\ndata files from different\ncrystal forms"];
	dmmulti [style=bold,shape=box,label="Run dmmulti"];
	dmmultimpdata [style=bold,label="improved\nreflection data\nfiles"];
	dmmultsolmask [label="solvent mask(s)"];
	dmmultavemask [label="averaging mask(s)"];
	dmmultimpsolmask [label="improved\nsolvent mask(s)"];
//
	solasumap [style=bold,label="map covering\nasymmetric\unit"];
	solomon [style=bold,shape=box,label="Run SOLOMON"];
	solimpmap [style=bold,label="improved\ndensity\nmap"];
	solsolmask [label="solvent mask"];
	solavemask [label "averaging\nmask(s)"];
	solimpsolmask [label="(improved)\nsolvent mask"];
	soltrimmask [label="trimmed\nmask(s)"];
	solasumask [label="asymmetric\nunit\nmask"];
	solrmsmap [label="rms map"];
//
	dminitphases -> dm -> dmimpphases [style=bold,weight=8];
	dmimpphases -> dmmultdata [style=invis];
	dmmultdata -> dmmulti -> dmmultimpdata [style=bold,weight=8];
	dmsolmask -> dm -> dmimpsolmask [style=dashed];
	dmavemask -> dm -> dmimpavemask [style=dashed];
	dmsolmask -> dminitphases -> dmavemask [style=invis];
	dmimpsolmask -> dmimpphases -> dmimpavemask [style=invis];
	dmmultsolmask -> dmmultdata -> dmmultavemask [style=invis];
	dmmultimpdata -> dmmultimpsolmask [style=invis];
	dmmultsolmask -> dmmulti [style=dashed];
	dmmultavemask -> dmmulti [style=dashed];
	dmmulti -> dmmultimpsolmask [style=dashed];
	dminitphases -> solasumap [style=dashed];
	solasumap -> solomon -> solimpmap [style=bold,weight=8];
	dmavemask -> solsolmask -> solasumap -> solavemask [style=invis];
	dmimpavemask -> solimpsolmask -> soltrimmask -> solimpmap -> solasumask -> solrmsmap [style=invis];
	solsolmask -> solomon [style=dashed];
	solavemask -> solomon [style=dashed];
	solomon -> solimpsolmask [style=dashed];
	solomon -> soltrimmask [style=dashed];
	solomon -> solasumask [style=dashed];
	solomon -> solrmsmap [style=dashed];
//
	{rank=same;dmsolmask;dminitphases;dmavemask;solsolmask;solasumap;solavemask};
	{rank=same;dmimpsolmask;dmimpphases;dmimpavemask;solimpmap;solimpsolmask;soltrimmask;solasumask;solrmsmap};
	{rank=same;dmmultsolmask;dmmultdata;dmmultavemask};
	{rank=same;dmmultimpdata;dmmultimpsolmask};
}
