make it more DRY