modified sign change. not finished yet
almost done with sign change