Reorganised AST and added Visitor classes