minor cleanups, todos
various codes using "grid" structs and dimension independent naming
normals from cp using differentiation