new digest interface