closed #2305 closed #1928 closed #1931