refactored into Ast(base), Null and Value ast classes... -sai