plugin architecture
builtin module as a plugin
shell module as a plugin