read about ast-tree code