Added options to select parallel vs serial streams

The code is messy since I was rushing around writing tests, but it works.