different messages types and showmsg