added program flowchart