added custom message feature and tests for this. fixes #17.