should add Program class