add doc
- use memoized version of state-name
- also build a set of states