Added Java implementations