continuing to implement a plugin system