additional DRYing