updated version from upstream