closed #3228 closed #3229 closed #3230