serialization works, but still need a more efficient format.