make worker_sup generic, start via pool