closed #3374 closed #3375 closed #3376