async def METHOD_NAME():
    global MESSAGE
    last_time = time.ticks_ms()
    STATE_PRE_SCROLL = 0
    STATE_SCROLLING = 1
    STATE_POST_SCROLL = 2
    shift = 0
    state = STATE_PRE_SCROLL
    # set the font
    graphics.set_font("bitmap8")
    # calculate the message width so scrolling can happen
    msg_width = graphics.measure_text(MESSAGE, 1)
    while 1:
        msg_width = graphics.measure_text(MESSAGE, 1)
        time_ms = time.ticks_ms()
        if cu.is_pressed(CosmicUnicorn.SWITCH_BRIGHTNESS_UP):
            cu.adjust_brightness(+0.01)
        if cu.is_pressed(CosmicUnicorn.SWITCH_BRIGHTNESS_DOWN):
            cu.adjust_brightness(-0.01)
        if state == STATE_PRE_SCROLL and time_ms - last_time > HOLD_TIME * 1000:
            if msg_width + PADDING * 2 >= width:
                state = STATE_SCROLLING
            last_time = time_ms
        if state == STATE_SCROLLING and time_ms - last_time > STEP_TIME * 1000:
            shift += 1
            if shift >= (msg_width + PADDING * 2) - width - 1:
                state = STATE_POST_SCROLL
            last_time = time_ms
        if state == STATE_POST_SCROLL and time_ms - last_time > HOLD_TIME * 1000:
            state = STATE_PRE_SCROLL
            shift = 0
            last_time = time_ms
        graphics.set_pen(graphics.create_pen(int(BACKGROUND_COLOUR[0]), int(BACKGROUND_COLOUR[1]), int(BACKGROUND_COLOUR[2])))
        graphics.clear()
        outline_text(MESSAGE, x=PADDING - shift, y=11)
        # update the display
        cu.update(graphics)
        # pause for a moment (important or the USB serial device will fail)
        await asyncio.sleep(0.001)