add download() and fix delete() key