Photon Jerky Movement

My game is soooo jerky, on local player is not as much, but on the other players is terryble,how do i fix it for both but without vector.lerp? i am using photon view and photon transform.

inherit from interface “IPunObservable”

and then use function “OnPhotonSerializeView” to send and recive position and calculate lag to
to compute new position

public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
    {
        if (stream.IsWriting)
        {
            stream.SendNext(myRigidbody.position);
            stream.SendNext(myRigidbody.velocity);
            stream.SendNext(currentSpeed);
        }
        else
        {
            networkPosition = (Vector3)stream.ReceiveNext();
            networkVelocity = (Vector3)stream.ReceiveNext();
            currentSpeed = (float)stream.ReceiveNext();
            lastNetworkDataReceivedTime = info.SentServerTime; //timestamp
            
           // float lag = Mathf.Abs((float)(PhotonNetwork.Time - info.SentServerTime));
            networkPosition += networkVelocity * Mathf.Abs((float)(PhotonNetwork.Time - info.SentServerTime)); ;
        }      
    }

    private void UpdateNetworkedPosition()
    {
        float pingInSeconds = PhotonNetwork.GetPing() * 0.001f;
        float timeSinceLastUpdate = (float)(PhotonNetwork.Time - lastNetworkDataReceivedTime);
        float totalTimePassed = pingInSeconds + timeSinceLastUpdate; // lag

        networkPosition += myRigidbody.velocity * totalTimePassed;
        networkVelocity += (networkVelocity - myRigidbody.velocity) * Time.deltaTime * totalTimePassed * 50;

        myRigidbody.MovePosition(Vector3.MoveTowards(myRigidbody.position, networkPosition, Time.deltaTime*currentSpeed));
    }