swap argument order back to be consistent with surface functions