Do we really need this function? Could not go in the main? I say this because of the complain_and_exit call, which makes more sense in the main than in a helper function.