msg factory