renamed to reflect nature of main