How about a java implementation