- implement cache updating on-the-fly
- more docs