optimized some smp class funcs