INPUTS, OUTPUTS, VARIABLES SELECTION ITERATIONS STRING MANIPULATION SUBROUTINES DATA STRUCTURES FILE HANDLING