finished the section on the reimplementation