for debug
also needs a branch in register. This way the register level is self sufficient (noticed while writing debugger)