make message more concrete
use new message api
update tests for changes to the message class
move towards general io api
test new methods
use new io methods