1. A method to program a NAND device, the method comprising: applying a first programming pulse to gates of a plurality of NAND cells of a word line; determining a programmed threshold voltage (V t ) of each of the plurality of NAND cells in response to the first programming pulse; categorizing a NAND cell as a fast cell if the determined V t of the NAND cell is greater a first predetermined voltage, otherwise categorizing the NAND cell as a slow cell; applying a second programming pulse to the gates of the slow-cell NAND cells if a slow cell NAND cell has a determined V t that is less than a program verify (PV) voltage; applying a third programming pulse to the gates of the slow-cell and fast-cell NAND cells if a NAND cell has a determined V t that is less that the PV voltage, the third programming pulse having a programming voltage that is less than the programming voltage of the second programming pulse; and repeating the applying of the second and third programming pulses to the gates of the NAND cells until all of the NAND cells have a V t that is greater than the PV voltage.