fix #12, fix #17