added undo button, kind of fixed descriptionOfProgram method