new non-map gradient works with nn