move weather and scraping logic into a separate file