closed #2673 closed #2674 closed #2675