fix message handling