Source: https://www.zysman-colman.com/courses/chm302/Extraction.pdf