compose with messsage, not *message