added buildNonZeroPointList function