#19 refactoring code to join different modules
#19 resolved message dispatcher conflict