The main function