realized that millis is an unsigned long and some of my timeout values were int vs long. corrected.