initial work on defensive messages
allows check.defend messages, fixes #16