separated data, added bad url protection