Improved option and default parsing