several improvements to option parsing