Almost implement the explanation part.