private void Update()
    {
        //If Slingshot is not in aimingMody, don't run
        if (!aimingMode)
        {
            return;
        }

        //Get current mouse pos in 2D screen coordinate
        Vector3 mousePos2D = Input.mousePosition;

        mousePos2D.z = -Camera.main.transform.position.z;
        Vector3 mousePos3D = Camera.main.ScreenToWorldPoint(mousePos2D);

        //Find the delta from the LaunchPos to the mousePos3D
        Vector3 mouseDelta = mousePos3D - launchPos;

        //Limit mouseDelta to the radius of the Slingshot SphereCollider
        float maxMagnitude = this.GetComponent <SphereCollider>().radius;

        if (mouseDelta.magnitude > maxMagnitude)
        {
            mouseDelta.Normalize();
            mouseDelta *= maxMagnitude;
        }
        Vector3 projPos = launchPos + mouseDelta;

        projectile.transform.position = projPos;

        if (Input.GetMouseButtonUp(0))
        {
            //mouse has been released
            aimingMode = false;

            FollowCam.POI = projectile;
            projectile    = null;
            MissionDemolition.shotsFired();
            ProjectileLine.S.poi = projectile;

            /*setting projectile to kinematic gives projectile physics properties,
             * allowing it to move with respect to velocity and gravity*/
            projectileRigidbody.isKinematic = false;

            //rigidbody of projectile given velocity proportional to distance from launchPos
            projectileRigidbody.velocity = -mouseDelta * velocityMult;

            /* sets static public field FollowCam.POI to be newly fired projectile*/
            FollowCam.POI = projectile;

            /*sets to null to allow for another instance of projectile to be created
             * once the slingshot is fired, allowing another shot*/
            projectile = null;
        }
    }