more performance optimizations