restructuring of the project and new abstraction layers finished
startup.py now as entrypoint