more performance improvements