closed #3112 #3111 #3110 #3109 #3108 #31097 #3106 #3105