added forecast implementation