moved extractor require to publicurl because is the only one using it