add tests and fixes for serialize and deserialize
remove excess test coverage
add some documentation

also, rebuild