instantiate plugin when needed