discussion of DRY