How the program works