add jni support