more comments and descriptions
rename private functions
provide a thresholding option for the angle columns