Fix normal vector calculations, it's a bit better