fix onMessage