Never bury series calls in an if else statement! You must call series() the exact same number of times every time run is called.

Here, run might call series 0, 1, or 3 times, which is wrong.