finish basic download function