new pattern for public link contract