Splitted the plugin in modules, to make easier to work on the code