add description

add some more description, and change some code in the library.