https://openelab.io/pl/blogs/learn/eight-important-points