Code review continued

worked on performance (downloads independent from upload/output, multiple workers) and added abstraction layer for sinks