implement downloadTrack.
refactoring