handle message properly