DRY out implementation