added in new programs; more modular