creation of IO and cpu thread pools, better integration with abstract task