main function

this is the main function