ignore state file
add state serialization