add option handling