Now supports sync download and async download is under implementation