i haven't thought about this much.

should probably flip signs and subtract to avoid the jumps