add option parsing