adding worker pool, not tested