first pass at implementing download