Added Java Impl