Added a more efficient version.
Still not faster