Reworked program structure