basic options parsing