class improvements, plus socket timeout added to fix not all data being dld