more work on create message, reorganizing helpers a bit to dry things up