closed #943
closed #1048
closed #1177