add getMessageKind
try cache
add