same tree reimpl