- close #31
- some improvements
- serveral bug fixed