add downloader component
fix jshint errors and minify