fix #751
work on #756
work on #754
work on #754