implement URLDetector
update gitignore