media download implementation