Series hw upload.

You are constructing a brand new instance and returning it each time it is called for iteration.  That's not ideal.  This is the reason that your iterator behaves like `xrange`, but there's a better way to achieve the same goal.  Can you manipulate some internal state of the existing instance in this method, instead of building and returning a brand new instance?