function about_init()
    ENGINE.modules.about = ENGINE.modules.about or {}
    local obj = ENGINE.modules.about
    function obj:init() 
        g2.game_reset()
        self.y = -480
        g2.view_set(0,self.y,640,480)
            
        g2.play_music("mus-legends-credits")
        local text = CREDITS
        for i,v in pairs(text) do
            local o = g2.new_label(v,320,i*50,0xffffff)
            o.label_size = 50
        end
        self.max_y = #CREDITS * 50 + 240
        g2.bkgr_src = "black"
        g2.bkgr_src = "background05"
        g2.state = "scene"
        g2.html = [[
            <table>
            <tr><td><input type='button' value='Resume' onclick='resume' />
            <tr><td><input type='button' value='Back to Menu' onclick='menu' />
            </table>
            ]]
    end
    function obj:loop(t)
        self.y = self.y + 50 * t
        g2.view_set(0,self.y,640,480)
        if self.y > self.max_y then
            ENGINE.engine:next(ENGINE.modules.title)
        end
    end
    function obj:event(e) 
        if e.type == 'ui:up' then
            ENGINE.engine:next(ENGINE.modules.title)
        end
        if e.type == 'onclick' and e.value == 'resume' then
            g2.state = "scene"
        end
        if e.type == 'onclick' and e.value == 'menu' then
            ENGINE.engine:next(ENGINE.modules.title)
        end
        if e.type == 'quit' then
            ENGINE.engine:next(ENGINE.modules.title)
            g2.quit = false
        end
    end
end