updated extractSurf