basic structure for web crawler