Lots of optimizations... and new problems.