create dirs if they do not exists. partial download logic