rewrote parse, reduce, shift, added defunct