surface sorting refinements, ver 2
surface sorting refinements, ver 3
surface sorting refinements, ver 4