use erlang ast instead of core