more detailed explanation for delay helper