updated download method structure