need to get all data, mainly using threads