add get message
add key
refactor