initial vector works but is really slow