my best shot at documentation,  still not quite right.