update: add url validation