little refactor (multiple backends separated to plugins)