separate worker.{h,c}pp