extracting modules, finally add pluginiator
rewrite, extract plugins, separate classes ... tests fail