Initial java version