speedup and eff added