a little more DRY