add abstract and fix #8