add recalculateNormals()