fix #18 fix #19