added basic structure of the main function