HUGE refactoring

also normals and uvs for triangles