apply DRY