No, the idea is that 'currentIndex' points to the row in the Flexgrid table that contains the time for the next occurrence. In line 27, where 'msecs' is calculated, you use that value to get the timer started again, which will then tick, play the sound, and set the timer so that it will tick at the appropriate time. Did you calculate 'msecs' correctly?