output use opt object