added weak externals