added dynamic loading of plugins