add worker pattern and combine factual and google api