private void OnTriggerStay(Collider other)
    {
        bool newCheckpointAdded = false;

        int checkpointNumber = -1;

        int.TryParse(other.gameObject.name, out checkpointNumber);

        if (checkpointNumber != -1)            //hit a checkpoint
        {
            if (reachedCheckpoints.Count == 0) //first checkpoint
            {
                reachedCheckpoints.Push(checkpointNumber);
                newCheckpointAdded = true;
            }
            else
            {
                if (reachedCheckpoints.Peek() + 1 == checkpointNumber) //the next checkpoint was hit
                {
                    reachedCheckpoints.Push(checkpointNumber);
                    newCheckpointAdded = true;
                }
            }

            if (newCheckpointAdded)
            {
                audioData.pitch = ((float)checkpointNumber / 40) + 1;
                audioData.Play(0);
                Debug.Log(checkpointNumber);

                if (reachedCheckpoints.Peek() == 36) //finish
                {
                    BallScript ballScr = GetComponent <BallScript>();
                    ballScr.EnableFinishScreen();
                }
            }
        }
    }