some optimizations, dealt better with cheerio lodash bug, still need to work on error handleing