finish out message generation func -- needs to be tested