95% - Functional

Normals still screwed up.