some refactor, plugins module