1st part can be skippes but it important for other parts.
"///////////" highlights where i make conclusion what devs made in right or wrong way(mostly latest).
I hope that would be interesting and helpful to read))