understood gradient is nonzero