refactor plugin manager, plugin list