always be DRYing