more robust download