merged with java