about 2-fold speedup