optimizations and better partial mutation updates