for c++/java