fix #74, may has some problems