First commit of the Java version