Modularise AST module into seperate modules