improve display messages based on state