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