final hierarchy functions added and now it compiles