added Forecast class and related unit tests
use new Forecast class