fixed a bug with normal matrix not updating correctly