Added alternative implementation using TPL dataflow