refactor fetch weather task