Implementing non-jump moves

Also adding appropriate tests