merge of the current 3.0 into the 3.1

merge of the current 3.0 into the 3.1