add parser and leaking ast