override doOption