add FFI part