Many many performance improvements