update
- add some comments
- rename the name of handler class
- ready for the unit test
- use the scope to new, initialize and delete the var