added toString to AST nodes for pretty printing
added n! math operator