multi message constructor clean