move everything to parallel threads