now using threads as well?