add option functionality