Hmm, so if BJ functions leak, does it mean all of them? When I converted some of the GUI triggers, functions like expirationtimer got a BJ suffix, so those are leaky? If so, then my tower would be a hell of a leak esp since it adds up on every attack. How do I settle this (In simple coding of course)? Another problem I encourntered after a little thought is regarding the upgrading method I'm using. What I want to create is upgrades that stack on a tower without changing the base unit (simply adding abilities), but I can't figure out a method to perform this smoothly. I tried using the train unit, but obviously if I remove availability when the ability reaches max, all other towers lose it. If I use the upgrade method, The icon is messed up sicne it must upgrade into a building of the same type (An upgrade button with the same icon as the tower looks wierd). If I apply a different icon (just to illustrate the upgrade) from the tower's standard, it shows when the player selects multiple towers and looks wierd. If I use the research method (research, then reset the research to enable research again), I can't remove the research button when the ability reaches cap. Although I can create a trigger to refund and display a message, the research button stays there, which is not so nice.