revise immutable state strategy, add new ops
finish state freeze and refactor thaw lightly
fix comment