Lots of memory and performance improvements