One more optimization, from 2.5s to 1.7s