improve something

* make things better not perfect
* simplify structure of module
* improve testcase