Which of these allows the program to take different paths in its programming?