closed #2634 closed #2635 closed #2636