tweak how messages are built, resolves #19