speedup + ****up-fix