updated reflection, added ASTWalker