add subtract was completely wrong gg