issue #5 : edit the code to implement worker