added Download function