add lazy function defined