def METHOD_NAME(self, newAmount=0, suffix=''):
    """ Update the progress bar with the new amount (with min and max
    values set at initialization; if it is over or under, it takes the
    min or max value as a default.
    """
    newAmount = max(newAmount, self.min)
    newAmount = min(newAmount, self.max)
    self.amount = newAmount
    # Add whitespace to suffix if turned ON
    if suffix:
        suffix = ' '+suffix
    # Figure out the new percent done (round to an integer)
    diffFromMin = float(self.amount - self.min)
    percentDone = (diffFromMin / float(self.span)) * 100.0
    percentDone = int(np.round(percentDone))
    # Figure out how many hash bars the percentage should be
    allFull = self.width - 2 - 18
    numHashes = (percentDone / 100.0) * allFull
    numHashes = int(np.round(numHashes))
    # Build a progress bar with an arrow of equal signs; special cases for empty and full
    if numHashes == 0:
        self.prog_bar = '{}[>{}]'.format(self.prefix, ' '*(allFull-1))
    elif numHashes == allFull:
        self.prog_bar = '{}[{}]'.format(self.prefix, '='*allFull)
        self.prog_bar += suffix
    else:
        self.prog_bar = '[{}>{}]'.format('='*(numHashes-1), ' '*(allFull-numHashes))
        # figure out where to put the percentage (roughly centered)
        percentPlace = int(len(self.prog_bar)/2 - len(str(percentDone)))
        percentString = f' {percentDone}% '
        # slice the percentage into the bar
        self.prog_bar = ''.join([self.prog_bar[0:percentPlace],
                                 percentString,
                                 self.prog_bar[percentPlace+len(percentString):]])
        # prefix and suffix
        self.prog_bar = self.prefix + self.prog_bar + suffix
        # time info - elapsed time and estimated remaining time
        if percentDone > 0:
            elapse_time = time.time() - self.start_time
            remain_time = int(elapse_time * (100./percentDone-1))
            self.prog_bar += f'{int(elapse_time):5d}s / {int(remain_time):5d}s'