AST assignment 6 (with Leon)