doing something like generating normals, but it looks like hell and is totally wrong