added ast matchers and rewriter
minor reformatting
added a demo replacement