abstracting weather api