Line `else if (requested == 0) pause()` should be removed. This is an erroneous left-over from an experiment. When removed it should address both of your comments on the `filling` behavior, does it?