News:

Please request registration email again and then check your "Spam" folder

Former www.henthighschool.com

[Feedback] *BUG REPORTS* Stable version only (v0.3)

Started by Goldo, Oct 18, 2025, 09:31 PM

Previous topic - Next topic

Toshiro

Sometimes when I end the day I get this error.

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/BKendday.rpy", line 760, in script
    python:
  File "game/BKendday.rpy", line 773, in <module>
    crazy_ev, crazy_cust = crazy_customer([girl], ent_dict[girl])
  File "game/BKfunctions.rpy", line 1083, in crazy_customer
    if fight(cust, MC) == False:
TypeError: 'str' object is not callable

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/BKendday.rpy", line 760, in script
    python:
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\ast.py", line 823, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\python.py", line 1178, in py_exec_bytecode
    exec(bytecode, globals, locals)
  File "game/BKendday.rpy", line 773, in <module>
    crazy_ev, crazy_cust = crazy_customer([girl], ent_dict[girl])
  File "game/BKfunctions.rpy", line 1083, in crazy_customer
    if fight(cust, MC) == False:
TypeError: 'str' object is not callable

Windows-10-10.0.19045 AMD64
Ren'Py 8.2.0.24012702
Bro King 0.3 v251021
Sat Oct 25 15:43:21 2025

Deimos96

In the rankings update whenever the tax lady comes, our brothel always shows as 0 gold. It's been this way since test version. Or is it because I have conflicting mods (though i doubt it)? Using TK, seaside pharmacy, OG chrisjob mod.

Deimos96

#17
Not a bug but "Virgin" trait should be excluded in Kunoichi's BKini. Kind of hit an odd jackpot when I got Narika as a slave *smirk. But it also doesn't make sense given the training she did before joining the brothel.

Toshiro

Getting an error during the endgame.  I am trying to get items/robots from Gina.
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/BKmain.rpy", line 212, in script call
    $ renpy.call(selected_location.menu[1])
  File "game/BKevents.rpy", line 3198, in script call
    call visit_merchant(NPC_gina) from _call_visit_merchant_3
  File "game/BKmain.rpy", line 1821, in script
    $ result = ui.interact()
  File "game/BKmain.rpy", line 1821, in <module>
    $ result = ui.interact()
  File "game/BKitems.rpy", line 755, in execute
    screen item_tab(context, left_party, right_party): # Where X_party are a list of inventory-holding characters
  File "game/BKitems.rpy", line 755, in execute
    screen item_tab(context, left_party, right_party): # Where X_party are a list of inventory-holding characters
  File "game/BKitems.rpy", line 786, in execute
    fixed:
  File "game/BKitems.rpy", line 801, in execute
    if right_focus:
  File "game/BKitems.rpy", line 802, in execute
    vbox xsize xres(255) xalign 1.0 ypos 0.1:
  File "game/BKitems.rpy", line 807, in execute
    hbox xalign 1.0:
  File "game/BKitems.rpy", line 811, in execute
    use item_list(items=right_focus.items, owner=right_focus, counterpart=left_focus, sc_prefix="noshift_") id "il2"
  File "game/BKitems.rpy", line 931, in execute
    screen item_list(items, owner, counterpart, sc_prefix, search=False): # May also accept Minions as 'items'
  File "game/BKitems.rpy", line 931, in execute
    screen item_list(items, owner, counterpart, sc_prefix, search=False): # May also accept Minions as 'items'
  File "game/BKitems.rpy", line 955, in execute
    vbox xsize xres(180):
  File "game/BKitems.rpy", line 956, in execute
    frame xfill True:
  File "game/BKitems.rpy", line 960, in execute
    has vbox
  File "game/BKitems.rpy", line 967, in execute
    if items:
  File "game/BKitems.rpy", line 969, in execute
    for i in range(line_nb):
  File "game/BKitems.rpy", line 970, in execute
    if page_index+i < len(items):
  File "game/BKitems.rpy", line 972, in execute
    $ acts = it.get_acts(owner, counterpart)
  File "game/BKitems.rpy", line 972, in <module>
    $ acts = it.get_acts(owner, counterpart)
AttributeError: 'Item' object has no attribute 'get_acts'

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/BKmain.rpy", line 212, in script call
    $ renpy.call(selected_location.menu[1])
  File "game/BKevents.rpy", line 3198, in script call
    call visit_merchant(NPC_gina) from _call_visit_merchant_3
  File "game/BKmain.rpy", line 1821, in script
    $ result = ui.interact()
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\ast.py", line 823, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\python.py", line 1178, in py_exec_bytecode
    exec(bytecode, globals, locals)
  File "game/BKmain.rpy", line 1821, in <module>
    $ result = ui.interact()
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\ui.py", line 301, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\core.py", line 2165, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\core.py", line 2683, in interact_core
    root_widget.visit_all(lambda d : d.per_interact())
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\screen.py", line 480, in visit_all
    callback(self)
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\core.py", line 2683, in <lambda>
    root_widget.visit_all(lambda d : d.per_interact())
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\screen.py", line 491, in per_interact
    self.update()
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\screen.py", line 697, in update
    self.screen.function(**self.scope)
  File "game/BKitems.rpy", line 755, in execute
    screen item_tab(context, left_party, right_party): # Where X_party are a list of inventory-holding characters
  File "game/BKitems.rpy", line 755, in execute
    screen item_tab(context, left_party, right_party): # Where X_party are a list of inventory-holding characters
  File "game/BKitems.rpy", line 786, in execute
    fixed:
  File "game/BKitems.rpy", line 801, in execute
    if right_focus:
  File "game/BKitems.rpy", line 802, in execute
    vbox xsize xres(255) xalign 1.0 ypos 0.1:
  File "game/BKitems.rpy", line 807, in execute
    hbox xalign 1.0:
  File "game/BKitems.rpy", line 811, in execute
    use item_list(items=right_focus.items, owner=right_focus, counterpart=left_focus, sc_prefix="noshift_") id "il2"
  File "game/BKitems.rpy", line 931, in execute
    screen item_list(items, owner, counterpart, sc_prefix, search=False): # May also accept Minions as 'items'
  File "game/BKitems.rpy", line 931, in execute
    screen item_list(items, owner, counterpart, sc_prefix, search=False): # May also accept Minions as 'items'
  File "game/BKitems.rpy", line 955, in execute
    vbox xsize xres(180):
  File "game/BKitems.rpy", line 956, in execute
    frame xfill True:
  File "game/BKitems.rpy", line 960, in execute
    has vbox
  File "game/BKitems.rpy", line 967, in execute
    if items:
  File "game/BKitems.rpy", line 969, in execute
    for i in range(line_nb):
  File "game/BKitems.rpy", line 970, in execute
    if page_index+i < len(items):
  File "game/BKitems.rpy", line 972, in execute
    $ acts = it.get_acts(owner, counterpart)
  File "game/BKitems.rpy", line 972, in <module>
    $ acts = it.get_acts(owner, counterpart)
AttributeError: 'Item' object has no attribute 'get_acts'

Windows-10-10.0.19045 AMD64
Ren'Py 8.2.0.24012702
Bro King 0.3 v251021
Sat Oct 25 21:00:16 2025

mahury

Quote from: Deimos96 on Oct 26, 2025, 01:48 AMIn the rankings update whenever the tax lady comes, our brothel always shows as 0 gold. It's been this way since test version. Or is it because I have conflicting mods (though i doubt it)? Using TK, seaside pharmacy, OG chrisjob mod.

without mods i have the same picture

Toshiro

Another end of day error.  This time for girls in the farm.

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/BKendday.rpy", line 934, in script
    python:
  File "game/BKendday.rpy", line 954, in <module>
    farm_events += farm.programs[girl].resolve("training")
  File "game/BKfarm.rpy", line 439, in resolve
    fight_res = fight(girl, NPC_gizel, advantage=None)
TypeError: 'str' object is not callable

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/BKendday.rpy", line 934, in script
    python:
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\ast.py", line 823, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\python.py", line 1178, in py_exec_bytecode
    exec(bytecode, globals, locals)
  File "game/BKendday.rpy", line 954, in <module>
    farm_events += farm.programs[girl].resolve("training")
  File "game/BKfarm.rpy", line 439, in resolve
    fight_res = fight(girl, NPC_gizel, advantage=None)
TypeError: 'str' object is not callable

Windows-10-10.0.19045 AMD64
Ren'Py 8.2.0.24012702
Bro King 0.3 v251021
Sun Oct 26 12:45:13 2025

Jman

Quote from: Toshiro on Oct 25, 2025, 11:56 PMIn chapter 4 I can still use Homura's ribbon in the plaza.
There should be a check for the existence of the ribbon before you trigger the summons, not just the existence of an okiya and the ribbon check afterwards. Or at least the 'plaza.action' toggle should get moved out of the ribbon block.

Quote from: Deimos96 on Oct 26, 2025, 01:48 AMIn the rankings update whenever the tax lady comes, our brothel always shows as 0 gold.
That's because the tax check first calculates taxes, resetting 'NPC_taxgirl.MC_income' to zero in the process. And only then is the rankings screen triggered, which, surprise!, works off 'NPC_taxgirl.MC_income'. :-\

Quote from: Toshiro on Oct 26, 2025, 07:02 AMAttributeError: 'Item' object has no attribute 'get_acts'
Seems to be some kind of WIP thing, items indeed do not have 'get_acts()' (yet?).

Quote from: Toshiro on Oct 26, 2025, 10:54 PMfight_res = fight(girl, NPC_gizel, advantage=None)
TypeError: 'str' object is not callable
That's kind of a serious issue, because Goldo accidentally reused the same name for both the generic 'fight()' function and an event-specific 'fight' variable. I think variables within labels are global in Ren'Py.

So your game is mildly borked now, since nobody can actually fight each other: girls vs MC, girls vs Gizel, MC vs customers, girls against each other in one Evil Power event.
And with strange aeons even death may die...

mahury

carpenters vagon - avaliable resources - position of recources is not correct.



Deimos96

#23
Idk if it's a bug or featuer but when buying girls rank A (and probbaly above) come with unlocked zodiacs when they shouldn't have. I.e I bought a girl with 3 green traits and she came with 5/8 zodiacs unlocked.
ps I use TK.

edit: so a rank C level 1 girl with 2 green traits came up in the market, but she came with 5 unlocked zodiacs. I'm at ch4 right now so I might've missed something or this is indeed a bug?

edit again: after waiting for the slave market to refresh I think the bug fixed itself. I think some weird things happened when I edited one of my gpacks and fixed the girl pics in game. Anyways I think its better to ignore this post unless anyone else has also had the same experience.

Jman

Can't reproduce. The only three ways to unlock an archetype are via adding traits, manually while levelling up and a daily event for TK's 'Prodigy' girls.

I guess these gals aren't Prodigies? And you haven't messed around with adding traits in some way?
And with strange aeons even death may die...

Deimos96

Quote from: Jman on Oct 28, 2025, 06:56 PMCan't reproduce. The only three ways to unlock an archetype are via adding traits, manually while levelling up and a daily event for TK's 'Prodigy' girls.

I guess these gals aren't Prodigies? And you haven't messed around with adding traits in some way?

No they don't have prodigy trait (either way it was from a newly bought slave, so the prodigy event hasn't triggrer yet). I reinstalled a fresh update patch and re-tested it on my save file and it held the same results. But again, after the market refreshed everythign was fixed. I suspect it had something to do with me removing one of my existing girl packs and refreshing the images or just something very obscure with my save and should not be worth the trouble.

Skrudzas

Not sure if a bug

Chapter 3

I've investigated all  3 ninjas and allied void and earth ninjas + discovered all history of water ninja. I get invited to princess to talk about progress. Get a choice of 3 things to talk about "stolen mask" / "princess guard captain's history" / "demon knights"

Whatever option I choose, the corresponding dialog happens and then I get the message saying something like "I've exhausted all investigation options". Shouldn't there be an option to talk about other 2 findings of my investigation? I mean first two options (mask and guard captain's history) are clearly related and tell different parts of same story and it would make sense to tell them both

--
Chapter 3

I'm invited to Kosmo's manor and find all the details about fire ninja and princess' brother. During the fight when I'm faced with fire ninja, she decides to lay down her weapons, I cast sleeping spell on her. However next text tells that she's showing me a gap in firewall and she offers me to leave the princess. When I choose to save the princess, I even need to fight the fire ninja which has just laid down weapons and was supposedly put under my sleeping spell


Initially I had same / similar problem as Toshiro - after going through everything in Kosmo's manor I was sent back to event where I'm visiting princess after ending investigation of 3 ninjas and chapter 3's end is supposed to start again. I now downloaded the latest patch from this thread after finding all this and retried these from my older save. The strange sequence of fire ninja's actions in Kosmo's manor still happens, but at least it looks like the event "talk to princess after finishing ninja investigations" does not retrigger and game progress to actual next step


No mods in use

Jman

Quote from: Deimos96 on Oct 28, 2025, 09:35 PMI reinstalled a fresh update patch and re-tested it on my save file and it held the same results. But again, after the market refreshed everythign was fixed.
It does make me kind of curious, because unless some girl pack of yours has some weird scripting, I'm hard-pressed to see how you can get extra archetypes without getting the traits to go with them. Care to share that save?


The only other explanation I have is that somehow the global archetype dict got corrupted – but that should have been fixed with a game restart, I think. And then every single new slave would have started with the same archetypes, more or less.



Edit: As to the meeting with the princess, it's kinda strange indeed. That conversation should be in a loop, or perhaps it was intended to be retriggered after each ninja got wasted and was then never revisited after the design changed.
And with strange aeons even death may die...

Deimos96

Quote from: Jman on Oct 28, 2025, 11:27 PM
Quote from: Deimos96 on Oct 28, 2025, 09:35 PMI reinstalled a fresh update patch and re-tested it on my save file and it held the same results. But again, after the market refreshed everythign was fixed.
It does make me kind of curious, because unless some girl pack of yours has some weird scripting, I'm hard-pressed to see how you can get extra archetypes without getting the traits to go with them. Care to share that save?

The only other explanation I have is that somehow the global archetype dict got corrupted – but that should have been fixed with a game restart, I think. And then every single new slave would have started with the same archetypes, more or less.



Edit: As to the meeting with the princess, it's kinda strange indeed. That conversation should be in a loop, or perhaps it was intended to be retriggered after each ninja got wasted and was then never revisited after the design changed.

https://www.mediafire.com/file/xr73haa4gj3fncq/1-12-LT1.save/file
The girl Jina is the newest bought slave. I tried buying other girls and they all had the same problem too.

GoldoTopic starter

New patch out: https://www.mediafire.com/file/1va1v7cq1psp53x/game+patch+0.3.zip/file

Doesn't fix everything, but addresses the game-breaking bug (the fight broken function). It should work with your saved games outside of real corner cases.


Quote from: Toshiro on Oct 26, 2025, 07:02 AMGetting an error during the endgame.  I am trying to get items/robots from Gina.
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/BKmain.rpy", line 212, in script call
    $ renpy.call(selected_location.menu[1])
  File "game/BKevents.rpy", line 3198, in script call
    call visit_merchant(NPC_gina) from _call_visit_merchant_3
  File "game/BKmain.rpy", line 1821, in script
    $ result = ui.interact()
  File "game/BKmain.rpy", line 1821, in <module>
    $ result = ui.interact()
  File "game/BKitems.rpy", line 755, in execute
    screen item_tab(context, left_party, right_party): # Where X_party are a list of inventory-holding characters
  File "game/BKitems.rpy", line 755, in execute
    screen item_tab(context, left_party, right_party): # Where X_party are a list of inventory-holding characters
  File "game/BKitems.rpy", line 786, in execute
    fixed:
  File "game/BKitems.rpy", line 801, in execute
    if right_focus:
  File "game/BKitems.rpy", line 802, in execute
    vbox xsize xres(255) xalign 1.0 ypos 0.1:
  File "game/BKitems.rpy", line 807, in execute
    hbox xalign 1.0:
  File "game/BKitems.rpy", line 811, in execute
    use item_list(items=right_focus.items, owner=right_focus, counterpart=left_focus, sc_prefix="noshift_") id "il2"
  File "game/BKitems.rpy", line 931, in execute
    screen item_list(items, owner, counterpart, sc_prefix, search=False): # May also accept Minions as 'items'
  File "game/BKitems.rpy", line 931, in execute
    screen item_list(items, owner, counterpart, sc_prefix, search=False): # May also accept Minions as 'items'
  File "game/BKitems.rpy", line 955, in execute
    vbox xsize xres(180):
  File "game/BKitems.rpy", line 956, in execute
    frame xfill True:
  File "game/BKitems.rpy", line 960, in execute
    has vbox
  File "game/BKitems.rpy", line 967, in execute
    if items:
  File "game/BKitems.rpy", line 969, in execute
    for i in range(line_nb):
  File "game/BKitems.rpy", line 970, in execute
    if page_index+i < len(items):
  File "game/BKitems.rpy", line 972, in execute
    $ acts = it.get_acts(owner, counterpart)
  File "game/BKitems.rpy", line 972, in <module>
    $ acts = it.get_acts(owner, counterpart)
AttributeError: 'Item' object has no attribute 'get_acts'

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/BKmain.rpy", line 212, in script call
    $ renpy.call(selected_location.menu[1])
  File "game/BKevents.rpy", line 3198, in script call
    call visit_merchant(NPC_gina) from _call_visit_merchant_3
  File "game/BKmain.rpy", line 1821, in script
    $ result = ui.interact()
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\ast.py", line 823, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\python.py", line 1178, in py_exec_bytecode
    exec(bytecode, globals, locals)
  File "game/BKmain.rpy", line 1821, in <module>
    $ result = ui.interact()
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\ui.py", line 301, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\core.py", line 2165, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\core.py", line 2683, in interact_core
    root_widget.visit_all(lambda d : d.per_interact())
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\screen.py", line 480, in visit_all
    callback(self)
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\core.py", line 2683, in <lambda>
    root_widget.visit_all(lambda d : d.per_interact())
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\screen.py", line 491, in per_interact
    self.update()
  File "E:\Skyrim\Brothel_King-pc-0.3\Brothel_King-pc\renpy\display\screen.py", line 697, in update
    self.screen.function(**self.scope)
  File "game/BKitems.rpy", line 755, in execute
    screen item_tab(context, left_party, right_party): # Where X_party are a list of inventory-holding characters
  File "game/BKitems.rpy", line 755, in execute
    screen item_tab(context, left_party, right_party): # Where X_party are a list of inventory-holding characters
  File "game/BKitems.rpy", line 786, in execute
    fixed:
  File "game/BKitems.rpy", line 801, in execute
    if right_focus:
  File "game/BKitems.rpy", line 802, in execute
    vbox xsize xres(255) xalign 1.0 ypos 0.1:
  File "game/BKitems.rpy", line 807, in execute
    hbox xalign 1.0:
  File "game/BKitems.rpy", line 811, in execute
    use item_list(items=right_focus.items, owner=right_focus, counterpart=left_focus, sc_prefix="noshift_") id "il2"
  File "game/BKitems.rpy", line 931, in execute
    screen item_list(items, owner, counterpart, sc_prefix, search=False): # May also accept Minions as 'items'
  File "game/BKitems.rpy", line 931, in execute
    screen item_list(items, owner, counterpart, sc_prefix, search=False): # May also accept Minions as 'items'
  File "game/BKitems.rpy", line 955, in execute
    vbox xsize xres(180):
  File "game/BKitems.rpy", line 956, in execute
    frame xfill True:
  File "game/BKitems.rpy", line 960, in execute
    has vbox
  File "game/BKitems.rpy", line 967, in execute
    if items:
  File "game/BKitems.rpy", line 969, in execute
    for i in range(line_nb):
  File "game/BKitems.rpy", line 970, in execute
    if page_index+i < len(items):
  File "game/BKitems.rpy", line 972, in execute
    $ acts = it.get_acts(owner, counterpart)
  File "game/BKitems.rpy", line 972, in <module>
    $ acts = it.get_acts(owner, counterpart)
AttributeError: 'Item' object has no attribute 'get_acts'

Windows-10-10.0.19045 AMD64
Ren'Py 8.2.0.24012702
Bro King 0.3 v251021
Sat Oct 25 21:00:16 2025


Seems like you have a bugged item. A saved game may help me narrow it down.
Maker of BK. Looking for the latest patch for BK v0.3? The link doesn't change, so bookmark it!