first version of worker pool