the main function