WIM (WoW Instant Messenger) v3
WIM (WoW Instant Messenger) is a World of Warcraft addon which brings an instant messenger feel to communication in game.
Features
- Whispers in their own windows.
- Chat in their own windows.
- Tabbed windows
- Highly configurable.
- History
- Copy and paste as:
- Raw Text
- BBCode
- Copy and paste as:
- Advanced, intellectual window behaviors & animations.
- Skins
- Emoticons
- Clickable web URLS for easy viewing. No more retyping a long url a friend sends you.
- Customizable sound options.
- Expose - great way to clear your screen of windows when you are in combat.
- Addon Compatibility: (Always make sure you are running the latest versions.
- Prat
- DBM
In reply to WoWEye:
If you right click the minimap icon, the menu pops up and you can click the 4. option called History Viewer.
Another option is to use the slash command /wim history .
In reply to humfras:
the button appears to be clicking, but nothing happens, no options, no nothing.
In reply to WoWEye:
Try Shift+Right-Click, seems like if I have the <Right-Click> to show undread messages option enabled, I have to Shift+Right-Click the minimap icon to get the menu up.
In reply to dogspit:
Oh yes, that works, Thank You
Hi
I have a Bug
1x [ADDON_ACTION_BLOCKED] AddOn 'TrollTheBones' hat versucht die geschützte Funktion 'UNKNOWN()' aufzurufen.
!BugGrabber\BugGrabber.lua:519: in function <!BugGrabber\BugGrabber.lua:519>
[C]: ?
[C]: ?
WIM\Modules\WhisperEngine.lua:746: in function <WIM\Modules\WhisperEngine.lua:739>
[C]: in function `SendChatMessage'
TrollTheBones\TrollTheBones-8.2.5 build 1.lua:382: in function <TrollTheBones\TrollTheBones.lua:287>
Could we get support for the raid marks?
{skull}, {cross}, {square}, {moon}, {triangle}, {diamond}, {circle}, {star}
In reply to Jm_nero:
Those are the localized strings.
The correct way to use those across all languages is {rt#}
https://wow.gamepedia.com/Target_marker#Example_targeting_convention
In reply to humfras:
Just tried that method. Still doesn't show the icons within the WIM whisper window.
Currently on WIM-3.8.2-classic.
Appologies if I forgot to mention I was on the Classic version.
In reply to Jm_nero:
In WIM, those raid icons are classified as emoticons.
Therefor, to be able to see them, you need to have Emoticons/Smileys enabled under
General > Message Formatting > Display Emoticons
In reply to humfras:
I tested this on classic. {skull}, etc all work in WIM with emoticons enabled.
I only use the Twitch app to update my addons and ever since 10/9, the classic version appears as a valid update for me in retail. So even though I currently have file 3.8.2 installed in retail, it shows 3.8.2-classic as a valid retail upgrade. I messaged Twitch support about it and they sent me this:
Some Addon Authors have indicated that their Addons are compatible with both WoW Classic and Retail (even if they may not be), so the Desktop App will update them accordingly.
We encourage you to reach out to the Addon Author via their CurseForge page and let them know of the situation so that they may update their project to reflect the correct game version.
In reply to Torfi:
WIM's versioning is done the way Twitch wants it...
Due to packaging order, the most current version of WIM will be the classic version but normally the Client will display the correct version (does so for me atleast).
Keep in mind that the Client was a bit buggy some weeks ago and distributed the wrong versions (depending on which version of WoW is/was installed).
You may have installed a classic-toc version of WIM by accident.
Which is no problem because both versions are identical, only the toc-version is set to the correct client version.
You may want to update manually once and see if the Twitch Client recognizes it correctly.
For some reason all my messages are not tabbed in classic, is there a way to force all whispers into a tabbed window?
In reply to GlorionTanks:
Check your settings. Tabs are disabled by default i believe.
Will the 'Target Player' button be implemented?
In reply to JohnnyDoodleLive:
Target player was removed a long time ago. Due to restrictions blizzard put in place, it is not feasible to attach a target button to a WIM window.
Following error when trying to report a player for cheating
Date: 2019-10-10 19:06:50
ID: -2
Error occured in: AddOn: WIM
Count: 1
Message: Error: AddOn WIM attempted to call a forbidden function (InitiateReportPlayer()) from a tainted execution path.
Debug:
[C]: InitiateReportPlayer()
..\FrameXML\HelpFrame.lua:345: HelpFrame_ShowReportCheatingDialog()
..\FrameXML\UnitPopup.lua:1791: func()
..\FrameXML\UIDropDownMenu.lua:910: UIDropDownMenuButton_OnClick()
[string "*:OnClick"]:1:
[string "*:OnClick"]:1
Locals:
None
I am getting various errors when right-clicking on a character (non-BNet friend) and hitting Whisper in RETAIL. Typically, this would list that character's info like guild name even without whispering them, but nothing comes up. The "click to update" feature does nothing. I have noticed for maybe the past couple weeks that the chat tabs are not listing guild names for anyone, whether I've whispered them or not. Maybe this has something to do with the /who feature. First 2 errors were with all my add-ons, second 2 are with only WIM installed:
ERROR 1:
Message: Interface\AddOns\WIM\Sources\WindowHandler.lua:445: attempt to call method 'setAlpha' (a nil value)
Time: Tue Oct 8 18:30:15 2019
Count: 1
Stack: Interface\AddOns\WIM\Sources\WindowHandler.lua:445: attempt to call method 'setAlpha' (a nil value)
Interface\AddOns\WIM\Sources\WindowHandler.lua:445: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:439>
Interface\AddOns\WIM\Sources\WindowHandler.lua:819: in function `fadeIn'
Interface\AddOns\WIM\Sources\WindowHandler.lua:484: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:475>
Interface\AddOns\WIM\Sources\WindowHandler.lua:547: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:542>
[C]: in function `Show'
Interface\AddOns\WIM\Sources\WindowHandler.lua:1470: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:1453>
Interface\AddOns\WIM\Sources\WindowHandler.lua:1797: in function `fun'
Interface\AddOns\WIM\Sources\WindowHandler.lua:396: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:388>
Interface\AddOns\WIM\Sources\WindowHandler.lua:712: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:712>
[C]: in function `Click'
Interface\AddOns\WIM\Modules\Menu.lua:59: in function <Interface\AddOns\WIM\Modules\Menu.lua:57>
Locals: obj = WIM3_msgFrame1 {
0 = <userdata>
Hide_Normal = <function> defined =[C]:-1
class = ""
isNew = false
offScreen = 0
level = ""
SendWho = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:995
animators = <table> {
}
animation = <table> {
}
WhoCallback = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:983
isWimWindow = true
age = 2459.681000
unreadCount = 0
msgWaiting = false
Hide = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1224
bn = <table> {
}
SafeGetTop = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1272
UpdateCharDetails = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:979
AddMessage = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:884
helperFrame = WIM_WindowHelperFrame {
}
SafeGetRight = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1269
UpdateIcon = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:906
hasMoved = true
customSize = false
guild = ""
SetScale_Orig = <function> defined =[C]:-1
GetRuleSet = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1100
isMoving = false
race = ""
lastActivity = 2459.681000
UpdateProps = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1175
classColor = "ffffff"
AddEventMessage = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:895
initialized = true
SetScale = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:778
fadeOut = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:820
type = "whisper"
isParent = true
SafeGetLeft = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1266
ResetAnimation = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1252
widgets = <table> {
}
SafeGetBottom = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1275
online = true
theUser = "Zarthill"
Pop = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1110
location = ""
AddMessageRaw = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:891
fadeIn = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:819
fadedIn = true
}
directionIn = true
force = true
fadeAnimator = <unnamed> {
0 = <userdata>
animation = <unnamed> {
}
}
to = 1
from = 1
(*temporary) = nil
(*temporary) = WIM3_msgFrame1 {
0 = <userdata>
Hide_Normal = <function> defined =[C]:-1
class = ""
isNew = false
offScreen = 0
level = ""
SendWho = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:995
animators = <table> {
}
animation = <table> {
}
WhoCallback = <function> defined @Interface\AddOns
ERROR 2:
Message: Interface\AddOns\WIM\Sources\WindowHandler.lua:445: attempt to call method 'setAlpha' (a nil value)
Time: Tue Oct 8 18:30:15 2019
Count: 1
Stack: Interface\AddOns\WIM\Sources\WindowHandler.lua:445: attempt to call method 'setAlpha' (a nil value)
Interface\AddOns\WIM\Sources\WindowHandler.lua:445: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:439>
Interface\AddOns\WIM\Sources\WindowHandler.lua:819: in function `fadeIn'
Interface\AddOns\WIM\Sources\WindowHandler.lua:484: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:475>
Interface\AddOns\WIM\Sources\WindowHandler.lua:547: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:542>
[C]: in function `Show'
Interface\AddOns\WIM\Sources\WindowHandler.lua:1470: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:1453>
Interface\AddOns\WIM\Sources\WindowHandler.lua:1797: in function `fun'
Interface\AddOns\WIM\Sources\WindowHandler.lua:396: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:388>
Interface\AddOns\WIM\Sources\WindowHandler.lua:712: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:712>
[C]: in function `Click'
Interface\AddOns\WIM\Modules\Menu.lua:59: in function <Interface\AddOns\WIM\Modules\Menu.lua:57>
Locals: obj = WIM3_msgFrame1 {
0 = <userdata>
Hide_Normal = <function> defined =[C]:-1
class = ""
isNew = false
offScreen = 0
level = ""
SendWho = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:995
animators = <table> {
}
animation = <table> {
}
WhoCallback = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:983
isWimWindow = true
age = 2459.681000
unreadCount = 0
msgWaiting = false
Hide = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1224
bn = <table> {
}
SafeGetTop = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1272
UpdateCharDetails = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:979
AddMessage = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:884
helperFrame = WIM_WindowHelperFrame {
}
SafeGetRight = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1269
UpdateIcon = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:906
hasMoved = true
customSize = false
guild = ""
SetScale_Orig = <function> defined =[C]:-1
GetRuleSet = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1100
isMoving = false
race = ""
lastActivity = 2459.681000
UpdateProps = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1175
classColor = "ffffff"
AddEventMessage = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:895
initialized = true
SetScale = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:778
fadeOut = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:820
type = "whisper"
isParent = true
SafeGetLeft = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1266
ResetAnimation = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1252
widgets = <table> {
}
SafeGetBottom = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1275
online = true
theUser = "Zarthill"
Pop = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1110
location = ""
AddMessageRaw = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:891
fadeIn = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:819
fadedIn = true
}
directionIn = true
force = true
fadeAnimator = <unnamed> {
0 = <userdata>
animation = <unnamed> {
}
}
to = 1
from = 1
(*temporary) = nil
(*temporary) = WIM3_msgFrame1 {
0 = <userdata>
Hide_Normal = <function> defined =[C]:-1
class = ""
isNew = false
offScreen = 0
level = ""
SendWho = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:995
animators = <table> {
}
animation = <table> {
}
WhoCallback = <function> defined @Interface\AddOns
ERROR 3:
Message: Interface\AddOns\WIM\Sources\WindowHandler.lua:445: attempt to call method 'setAlpha' (a nil value)
Time: Tue Oct 8 18:47:21 2019
Count: 3
Stack: Interface\AddOns\WIM\Sources\WindowHandler.lua:445: attempt to call method 'setAlpha' (a nil value)
Interface\AddOns\WIM\Sources\WindowHandler.lua:445: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:439>
Interface\AddOns\WIM\Sources\WindowHandler.lua:819: in function `fadeIn'
Interface\AddOns\WIM\Sources\WindowHandler.lua:484: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:475>
Interface\AddOns\WIM\Sources\WindowHandler.lua:547: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:542>
[C]: in function `Show'
Interface\AddOns\WIM\Sources\WindowHandler.lua:1135: in function `Pop'
Interface\AddOns\WIM\Modules\WhisperEngine.lua:668: in function <Interface\AddOns\WIM\Modules\WhisperEngine.lua:622>
[C]: in function `ChatEdit_ExtractTellTarget'
Interface\FrameXML\ChatFrame.lua:4724: in function <Interface\FrameXML\ChatFrame.lua:4713>
(tail call): ?
Interface\FrameXML\ChatFrame.lua:4828: in function `ChatEdit_ParseText'
Interface\FrameXML\ChatFrame.lua:4700: in function `ChatEdit_OnTextSet'
[string "*:OnTextSet"]:1: in function <[string "*:OnTextSet"]:1>
[C]: ?
[C]: in function `SetText'
Interface\FrameXML\ChatFrame.lua:4069: in function `ChatEdit_OnUpdate'
[string "*:OnUpdate"]:1: in function <[string "*:OnUpdate"]:1>
Locals: obj = WIM3_msgFrame3 {
0 = <userdata>
Hide_Normal = <function> defined =[C]:-1
class = ""
isNew = true
level = ""
SendWho = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:995
animators = <table> {
}
animation = <table> {
}
WhoCallback = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:983
isWimWindow = true
age = 3491.247000
Hide = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1224
bn = <table> {
}
SafeGetTop = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1272
UpdateCharDetails = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:979
AddMessage = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:884
helperFrame = WIM_WindowHelperFrame {
}
SafeGetRight = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1269
UpdateIcon = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:906
hasMoved = false
customSize = false
guild = ""
SetScale_Orig = <function> defined =[C]:-1
GetRuleSet = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1100
race = ""
lastActivity = 3491.247000
UpdateProps = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1175
classColor = "ffffff"
AddEventMessage = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:895
initialized = true
SetScale = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:778
fadeOut = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:820
type = "whisper"
isParent = true
SafeGetLeft = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1266
ResetAnimation = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1252
widgets = <table> {
}
SafeGetBottom = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1275
online = true
theUser = "Nikrad"
Pop = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1110
location = ""
AddMessageRaw = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:891
fadeIn = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:819
fadedIn = true
}
directionIn = true
force = true
fadeAnimator = <unnamed> {
0 = <userdata>
animation = <unnamed> {
}
}
to = 1
from = 1
(*temporary) = nil
(*temporary) = WIM3_msgFrame3 {
0 = <userdata>
Hide_Normal = <function> defined =[C]:-1
class = ""
isNew = true
level = ""
SendWho = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:995
animators = <table>
ERROR 4:
Message: Interface\AddOns\WIM\Sources\WindowHandler.lua:445: attempt to call method 'setAlpha' (a nil value)
Time: Tue Oct 8 18:49:40 2019
Count: 1
Stack: Interface\AddOns\WIM\Sources\WindowHandler.lua:445: attempt to call method 'setAlpha' (a nil value)
Interface\AddOns\WIM\Sources\WindowHandler.lua:445: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:439>
Interface\AddOns\WIM\Sources\WindowHandler.lua:819: in function `fadeIn'
Interface\AddOns\WIM\Sources\WindowHandler.lua:484: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:475>
Interface\AddOns\WIM\Sources\WindowHandler.lua:547: in function <Interface\AddOns\WIM\Sources\WindowHandler.lua:542>
[C]: in function `Show'
Interface\AddOns\WIM\Sources\WindowHandler.lua:1135: in function `Pop'
Interface\AddOns\WIM\Modules\Menu.lua:98: in function <Interface\AddOns\WIM\Modules\Menu.lua:93>
Locals: obj = WIM3_msgFrame3 {
0 = <userdata>
Hide_Normal = <function> defined =[C]:-1
class = ""
isNew = false
offScreen = 0
level = ""
SendWho = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:995
animators = <table> {
}
animation = <table> {
}
WhoCallback = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:983
isWimWindow = true
age = 3491.247000
unreadCount = 0
msgWaiting = false
Hide = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1224
bn = <table> {
}
SafeGetTop = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1272
UpdateCharDetails = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:979
AddMessage = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:884
helperFrame = WIM_WindowHelperFrame {
}
SafeGetRight = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1269
UpdateIcon = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:906
hasMoved = false
customSize = false
guild = ""
SetScale_Orig = <function> defined =[C]:-1
GetRuleSet = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1100
race = ""
lastActivity = 3491.247000
UpdateProps = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1175
classColor = "ffffff"
AddEventMessage = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:895
initialized = true
SetScale = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:778
fadeOut = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:820
type = "whisper"
isParent = true
SafeGetLeft = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1266
ResetAnimation = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1252
widgets = <table> {
}
SafeGetBottom = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1275
online = true
theUser = "Nikrad"
Pop = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1110
location = ""
AddMessageRaw = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:891
fadeIn = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:819
fadedIn = true
}
directionIn = true
force = true
fadeAnimator = <unnamed> {
0 = <userdata>
animation = <unnamed> {
}
}
to = 1
from = 1
(*temporary) = nil
(*temporary) = WIM3_msgFrame3 {
0 = <userdata>
Hide_Normal = <function> defined =[C]:-1
class = ""
isNew = false
offScreen = 0
level = ""
SendWho = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:995
animators = <table> {
}
animation = <table> {
}
WhoCallback = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:983
isWimWindow = true
age = 3491.247000
unreadCount = 0
msgWaiting = false
Hide = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1224
bn = <table> {
}
SafeGetTop = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:1272
UpdateCharDetails = <function> defined @Interface\AddOns\WIM\Sources\WindowHandler.lua:979
AddMessa
In reply to TheDaggersEdge:
Please try the most recent alpha https://www.wowace.com/projects/wim-3/files?filter-status=1&filter-game-version=2020709689:7350
In reply to humfras:
No more errors with the latest update! :) Character information comes up only when the other person whispers back, still not displaying guild name or location though so not sure if that's intentional.