Parse in module

Don't review yet.
again, why ASTNode?