tasks 1,2 and 3 completed, error checking for invalid urls completed as well