faster than

 [2]