closed #3380 closed #3381 closed #3382