added program concept and a list for possible optimizations in main.cpp