adding separate state/counting version
promising check point
checkpoint
checkpoint
almost there...