update common header
redesign the plugin system
update invocation of plugin system