changed interface, added extend for copying AST on a run(), fixed bugs, added a few missing keywords