What types of programs are there?