change:

1.add dispatcher
2.module design