cant get local messages to display on screen?

Hi everyone, any help would be amazing. I am working on a candy crush style game. I am trying to get a message popup to show randomly when ever the user matches 3 or more objects in a row. 

thank you very much in advanced! 

--Initial Settings display.setStatusBar(display.HiddenStatusBar) --Hide status bar from the beginning --Global score vars \_G.overallScore = 0 \_G.target = 3 -- Global tileIconSheet, made global to save us loading and removing it each game! \_G.tileIconSheet = graphics.newImageSheet("images/tiles.png", {height = 30, width = 30, numFrames = 8, sheetContentWidth = 240, sheetContentHeight = 30}) --Import storyboard etc local storyboard = require "storyboard" storyboard.purgeOnSceneChange = true --So it automatically purges for us. local sqlite3 = require("sqlite3") --For loading and saving into our database ------------------------------------------------------------------------------------------- --achievementpopup and game font-as local achievementPopup local gameFont = "Comic Book Commando" ------------------------------------------------------------------------------------------- --Loads sounds. Done here so that we don't have to keep on creating and disposing of them! local sounds = {} sounds["select"] = audio.loadSound("sounds/select.mp3") sounds["pop"] = audio.loadSound("sounds/pop.mp3") ----------------------------------------------------------------------------------------- --as music local soundTrack = audio.loadStream("sounds/251461\_\_joshuaempyre\_\_arcade-music-loop.wav") audio.play( soundTrack, { channel = 2, loops=-1, fadein=1000 } ) ----------------------------------------------------------------------------------------- -- ======================= -- achievementPopup() - This function produces a random 'achievement' popup. It is used for sequential connections \>= 3 -- ======================= achievementPopup = function() local group = display.newGroup() local back = display.newRoundedRect( group, 0, 0, 200, 60, 12 ) back.strokeWidth = 3 back:setFillColor( 243/255, 95/255, 179/255 ) back:setStrokeColor( 254/255, 191/255, 199/255 ) back.x = centerX back.y = centerY local messages = {} messages[#messages+1] = "Awesome!" messages[#messages+1] = "Keep Going!" messages[#messages+1] = "Rockin' It!" messages[#messages+1] = "Woah!" messages[#messages+1] = "Super Cool!" local tmp = display.newText( group, messages[math.random( 1, #messages )], 0, 0, gameFont, 32 ) tmp.x = back.x tmp.y = back.y transition.to( group, { alpha = 0, time = 1000, delay = 500 } ) timer.performWithDelay( 1600, function() group:removeSelf() end ) end ----------------------------------------------------------------------------------------- function playSound(name) --Just pass a name to it. e.g. "select" audio.play(sounds[name]) end --Create a database for holding the top score. --You could easily edit this to add more levels and more highscores. local dbPath = system.pathForFile("fruit\_scores.db3", system.DocumentsDirectory) local db = sqlite3.open(dbPath) local tablesetup = [[CREATE TABLE scores (id INTEGER PRIMARY KEY, score INTEGER, level INTEGER); CREATE TABLE levels (id INTEGER PRIMARY KEY, score INTEGER, level INTEGER); INSERT INTO scores VALUES (NULL, 0, 0); INSERT INTO levels VALUES (NULL, 0, 0);]] db:exec(tablesetup) --Create it now. db:close() --Then close the database --Now change scene to go to the menu. storyboard.gotoScene( "menu", "fade", 400 )