Changed to a plugin based architecture