made normals work for corner cases