allocs vs copying turned out to be faster