work on tree compiler