void Start()
    {
        Debug.Log("WHY" + startMenuScript.diffLevel);
        difficulty = startMenuScript.diffLevel;
        initializeContradictionNum();
        initializeWeaponLocations();
        SuspectEnum murdererEnum = genMurderer();
        murderWeap = genWeap();

        deathTime = rand.Next(earliestDeath, latestDeath);
        bodyFound = deathTime+2;//genBodyFoundTime();
        befMurderTime = deathTime-1;
        aftMurderTime = deathTime+1;

        victim = new Person(SuspectEnum.Father, true, false);
        murderer = new Person(murdererEnum, false, true);
        for (int i=0; i<Globals.numSuspects; i++) {
            if (i == (int)murdererEnum) timeline.Insert(i, murderer);
            else timeline.Insert(i, new Person((SuspectEnum)i, false, false));
        }

        //		RmEnum RHBefMurRoom;
        //		RmEnum RHDurMurRoom;
        //		RmEnum RHAftMurRoom;

        //victim was doing something
        int victimBefMurderRoom = rand.Next(0, Globals.numRooms);
        victim.setBeforeMurder(befMurderTime, (RmEnum)victimBefMurderRoom, Globals.room[victimBefMurderRoom].randomGA(), WpnEnum.None);
        //victim died
        int victimDurMurderRoom = rand.Next(0, Globals.numRooms);
        victim.setDuringMurder(deathTime, (RmEnum)victimDurMurderRoom, "dead", WpnEnum.None);
        //murderer's truth timeline
        timeline[(int)murdererEnum].setBeforeMurder(befMurderTime, Globals.randRoom((RmEnum)victimBefMurderRoom), "acquiring murder weapon", murderWeap);
        timeline[(int)murdererEnum].setDuringMurder(deathTime, (RmEnum)victimDurMurderRoom, "murder", murderWeap); //truth: murderer killed victim
        timeline[(int)murdererEnum].setAfterMurder(aftMurderTime, Globals.randRoom((RmEnum)victimDurMurderRoom), "disposing murder weapon", murderWeap);
        //murderer's lies
        timeline[(int)murdererEnum].setFakeBeforeMurder(befMurderTime,
            timeline[(int)murdererEnum].getBeforeMurderRoom(),
            Globals.room[(int)timeline[(int)murdererEnum].getBeforeMurderRoom()].WeaponList[(int)murderWeap].activity[0],
            murderWeap);//murderer lies about his befMurder activity
        RmEnum murdererDurMurLieRm = Globals.randRoom((RmEnum)victimDurMurderRoom);
        timeline[(int)murdererEnum].setFakeDuringMurder(deathTime,
            murdererDurMurLieRm,
            Globals.room[(int)murdererDurMurLieRm].WeaponList[(int)murderWeap].activity[0],
            murderWeap); //murderer lies about his DurMurder room and activity
        timeline[(int)murdererEnum].setFakeAfterMurder(aftMurderTime,
            timeline[(int)murdererEnum].getAfterMurderRoom(),
            Globals.room[(int)timeline[(int)murdererEnum].getAfterMurderRoom()].WeaponList[(int)murderWeap].activity[0],
            murderWeap); //murderer lies about his AftMurder activity
        timeline[(int)murdererEnum].setReturnLieBM();
        timeline[(int)murdererEnum].setReturnLieDM();
        timeline[(int)murdererEnum].setReturnLieAM();

        //find body
        int finder = rand.Next(0, Globals.numSuspects);
        timeline[finder].setFoundBody(true);

        //last seen
        int lastSaw = rand.Next(0, Globals.numSuspects);
        timeline[lastSaw].setLastSaw(true);

        switch(difficulty) {
            case GameDiffEnum.Easy: GenerateEasyGame(murdererEnum, victimBefMurderRoom, victimDurMurderRoom); break;
            case GameDiffEnum.Medium: GenerateMediumGame(murdererEnum, victimBefMurderRoom, victimDurMurderRoom); break;
            case GameDiffEnum.Hard: GenerateMediumGame(murdererEnum, victimBefMurderRoom, victimDurMurderRoom); break;
        }

        showStain(victim.getDuringMurderRoom());
        startPara = createStartPara();

        //*********** Not working anymore, cause no more redherring
        //placeWeaponsInWorld(redHerringIndex, murderer);
        PrintMethod();

        AI.tree = AI.qnGenerator();
    }
    void OnMouseDown()
    {
        if(buttonNumber == 1){ // Start
            Application.LoadLevel("LoadingScreen");
        }
        else if (buttonNumber == 2){ // Difficulty
            isClicked = !isClicked;
            //reveals the buttons for difficulty level
            if(isClicked){
                gameObj.renderer.material = mouseOverMat;
                iTween.MoveBy(easyButton, iTween.Hash("x", -5.3, "time", 0.5));
                iTween.MoveBy(mediumButton, iTween.Hash("x", -5.3, "time", 0.5));
                iTween.MoveBy(hardButton, iTween.Hash("x", -5.3, "time", 0.5));
            }
            //moves the level buttons away from the screen space
            else{
                gameObj.renderer.material = originalColor;
                iTween.MoveBy(easyButton, iTween.Hash("x", 5.3, "time", 0.5));
                iTween.MoveBy(mediumButton, iTween.Hash("x", 5.3, "time", 0.5));
                iTween.MoveBy(hardButton, iTween.Hash("x", 5.3, "time", 0.5));
                easyClick = false;
                medClick = false;
                hardClick = false;
            }
        }
        //Easy Button
        else if(buttonNumber == 4){
            easyClick = !easyClick;

            if(easyClick){
                gameObj.renderer.material = mouseOverMat;
                mediumButton.renderer.material = originalColor;
                hardButton.renderer.material = originalColor;
                medClick = false;
                hardClick = false;
            }
            else{
                gameObj.renderer.material = originalColor;
            }

            diffLevel = MurderData.GameDiffEnum.Easy;

        }
        //Medium Button
        else if(buttonNumber == 5){
            medClick = !medClick;

            if(medClick){
                gameObj.renderer.material = mouseOverMat;
                easyButton.renderer.material = originalColor;
                hardButton.renderer.material = originalColor;
                easyClick = false;
                hardClick = false;
            }
            else{
                gameObj.renderer.material = originalColor;
            }

            diffLevel = MurderData.GameDiffEnum.Medium;

        }
        //Hard Button
        else if(buttonNumber == 6){
            hardClick = !hardClick;

            if(hardClick){
                gameObj.renderer.material = mouseOverMat;
                mediumButton.renderer.material = originalColor;
                easyButton.renderer.material = originalColor;
                easyClick = false;
                medClick = false;
            }
            else{
                gameObj.renderer.material = originalColor;
            }

            diffLevel = MurderData.GameDiffEnum.Hard;

        }
        else { // 3 = quit
            var isWebPlayer = (Application.platform == RuntimePlatform.OSXWebPlayer || Application.platform == RuntimePlatform.WindowsWebPlayer);
            if (!isWebPlayer)
            {
                Application.Quit();
                Debug.Log("Quit");
            }
        }
    }