closed #2694 closed #2695 closed #2696