Donwloader refactor