fix #39 fix #40