modified to use message