create a java version