some DRYing