split out ffi::call from System