don't use Base.Worker