Adding thread pooling, paralellism, and asynchrony