let's go the Java route, C++ a bit later