introduce download method.