add hierarchy feature