apply the same technique to generate default