Refactoring

changed the way plugins are handled for ability to load/unload in future