closed #2438 closed #2439 closed #2440