generic manager worker seperation