initial version of worker2