add: download functionality