pointer tree implemented