Additional common code factored out.