adding program structure