better names for the classes
add tests for the message records
minor cleanup
more cleanup
add basic docstrings