adds changes required for the programming assignment and the detailed explanation for the code