finish ex 5.9 and update machine.lisp