moved jump code into JumpService. bunch of bug fixing. lots of swearing