document the program