only JNI is required