# ValueFnIter\_Case1\_FHorz: internal reorg

**URL:** https://discourse.vfitoolkit.com/t/valuefniter-case1-fhorz-internal-reorg/696
**Category:** Uncategorized
**Created:** [August 27, 2026, 1:44am UTC](https://discourse.vfitoolkit.com/t/valuefniter-case1-fhorz-internal-reorg/696 "2026-08-27T01:44:14Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![robertdkirkby](https://discourse.vfitoolkit.com/user_avatar/discourse.vfitoolkit.com/robertdkirkby/32/287_2.png) [@robertdkirkby](https://discourse.vfitoolkit.com/u/robertdkirkby)
#### Post date: [August 27, 2026, 1:44am UTC](https://discourse.vfitoolkit.com/t/valuefniter-case1-fhorz-internal-reorg/696/1 "2026-08-27T01:44:14Z")

</div>

Most users can ignore this, is only for the info of those who look under the hood. Later today I will push a big reorg of ValueFnIter\_Case1\_FHorz. It has been internally rebuilt around a new hierarchy to make it easier to keep track of all the different preference and endogenous state combinations. Namely

```auto
ValueFnIter_Case1_FHorz level 1
└─ preference dispatcher level 2 read this preference's parameters once
   └─ endogenous state type level 3
      └─ semiz level 4
         └─ solver (DC / GI) level 5
            └─ raws

```

I have been doing heaps of work implementing all the various combinations of endogenous state types and exogenous shock types. Now I am working on doing all of this various preference types. It was becoming a mess and this reorganizing it into a nice clean hierarchy.
