Start implementing explanation part.
Some refactoring on the structure and the name.