use hierarchy interface instead of child interface