changed OnMessage