Made generic worker struct