make end_date optional for process_*() functions