normal generation is (almost) working

normals are slightly off, but working well enough for now.