use async HTTP downloads
make some stuff thread safe