add message support and a few more tests