starting to refactor CrawlElement