better worker cleanup