renaming, more doc and cleaning up.
subtle changes
removed an unnecessary constraint.