Improved CLI parser