jni uses c++ interface, not c