redid the way it does extraction