created main calling structure