Better jumping logic and moving viewport