closed #847 closed #878 closed #938
closed #1032 closed #1320