closed #948
closed #1078
closed #1238