add tests
fix ast types