new delay logic