moved message to its own module