setup needs to return the dictionary it wants to use as otherwise, if any lower function changes the reference to the dictionary (as process_restart_options does), then we end up holding the reference to the incorrect  dictionary.
setup needs to return the dictionary it wants to use as otherwise, if any lower function changes the reference
to the dictionary (as process_restart_options does), then we end up holding the reference to the incorrect 
dictionary.

linucks/ample,rigdenlab/ample,linucks/ample,rigdenlab/ample