stages and gradient sign checking
sign error
merge