better plugin architecture
unify plugin and module architecture