better options parsing