diagram was modified
still doesn't work and still in progress
a lot of garbage, but also with new great ideas. let's do code!