moving dependencies to latest versions
rewriting with a more top down approach, which hopefully will lead to a working program (but not yet)