added BackgroundDownloader, moved stuff to Infrastructure dll