update source for jvm compatibility