reworked program organization