todo: no need to download again if already present