* crude split for improved diagnostics and less mess * sorting the refactored parts manually / moving assets around for more intuitive structure