much cleaner code in Weather2