additional checks to survive corrupt messages