fixed namespace issue in plugins
made Plugin base class abstract
added some first typehints