Added explanation of program