why msg here required?