performance improvements
merged