those functions have dependencies