documented plugin system