benchmark more closely matches actual implementation