function createFrames()
    --create killing blow message frame.
    message = CreateFrame("MessageFrame", "KBFrameM", UIParent)

    --set place to display message in the center
    message:SetPoint("LEFT")
    message:SetPoint("RIGHT")
    message:SetPoint("CENTER")

    --set height of message
    message:SetHeight(30)

    --set where message gets inserted into the frame
    message:SetInsertMode("TOP")

    --set layer at high(ATTENTION CHILD FRAMES ALWAYS GET INSERTED ABOVE THEIR PARENT)
    message:SetFrameStrata("HIGH")

    --set amount of seconds before message fades(3 seconds)
    message:SetTimeVisible(KillingBlowAnnouncer:GetVisibleTime(info))

    --set amount of seconds it takes for message to fade(1 second)
    message:SetFadeDuration(KillingBlowAnnouncer:GetFadeTime(info))

    --set message font,font-size,and flags
    --max font size 30
    --flags:
    --MONOCHROME - Font is rendered without antialiasing
    --OUTLINE - Font is displayed with a black outline
    --THICKOUTLINE - Font is displayed with a thick black outline
    message:SetFont(Media:Fetch("font", KillingBlowAnnouncer:GetFont(info)), KillingBlowAnnouncer:GetFontSize(info), KillingBlowAnnouncer:GetOutline(info))

    image = CreateFrame("Frame", "KBFrameI", UIParent)

    --set image at the center
    image:SetPoint("CENTER",0,5)

    --set frame on high level
    image:SetFrameStrata("HIGH")
    image:SetSize(KillingBlowAnnouncer:GetKBIWidth(info),KillingBlowAnnouncer:GetKBIHeight(info))

    --create image texture
    imageObj = image:CreateTexture()
    imageObj:SetAllPoints()
    imageObj:SetAlpha(-1)
    imageObj:SetTexture(KillingBlowAnnouncer:GetKBIImage(info))

    --hide image intially
    image:Hide()

    --create animation groups
    imageAnimationIn = imageObj:CreateAnimationGroup()
    imageAnimationOut = imageObj:CreateAnimationGroup()

    --crette alphaIn and Out
    alphaIn = imageAnimationIn:CreateAnimation("Alpha")
    alphaOut = imageAnimationOut:CreateAnimation("Alpha")
end