implemented multithreading for data retrieval, no return value, only print