hieracrhy changes. implement interface