add api hierarchical class support