perf optimize
update serialization