reorganize the codes in anticipation of dealing with lost clusters and allowing user-specified convergence criteria, and synchronize the docs with the hdf5 feature changes